import tkinter as tk
import random
import threading
import time

# 温馨提示文案列表（可自行增减）
WARM_TIPS = [
    "多喝水哦~",
    "保持微笑呀",
    "记得按时吃饭",
    "累了就歇会儿",
    "今天也要开心呀",
    "注意保护眼睛",
    "别熬夜啦，早点休息",
    "生活明朗，万物可爱",
    "小小的美好在身边",
    "照顾好自己呀"
]
# 柔和的背景色列表（RGB格式）
SOFT_COLORS = [
    "#FFE6F2",  # 浅粉
    "#E6F7FF",  # 天蓝
    "#E6FFE6",  # 浅绿
    "#FFF9E6",  # 浅黄
    "#F0E6FF",  # 浅紫
    "#FFE6E6",  # 浅红
    "#E6FFFA", # 浅青
    "#FFFFE6"  # 鹅黄
]
def show_warm_tip():
    """创建单个温馨提示弹窗"""
    # 初始化tkinter窗口
    root = tk.Tk()
    root.title("温馨提示")  # 窗口标题
    root.attributes("-topmost", True)  # 窗口置顶
    # 获取屏幕宽高，计算随机窗口位置（避免窗口超出屏幕）
    screen_width = root.winfo_screenwidth()
    screen_height = root.winfo_screenheight()
    win_x = random.randint(0, screen_width - 300)  # 窗口宽200，预留偏移
    win_y = random.randint(0, screen_height - 100)  # 窗口高100，预留偏移
    root.geometry(f"200x100+{win_x}+{win_y}")  # 窗口大小+位置
    # 随机选择文案和背景色
    tip_text = random.choice(WARM_TIPS)
    bg_color = random.choice(SOFT_COLORS)
    # 创建文案标签
    label = tk.Label(
        root,
        text=tip_text,
        bg=bg_color,
        font=("微软雅黑", 12),
        width=20,
        height=3
    )
    label.pack()  # 显示标签
    # 启动窗口消息循环
    root.mainloop()
def main():
    """批量创建多线程弹窗"""
    thread_count = 300  # 弹窗数量（可调整）
    interval = 0.09  # 每个弹窗的时间间隔（可调整）
    for _ in range(thread_count):
        # 创建线程（每个线程对应一个弹窗）
        t = threading.Thread(target=show_warm_tip)
        t.daemon = True  # 设为守护线程，主程序结束时自动退出
        t.start()
        time.sleep(interval)  # 控制弹窗速度
if __name__ == "__main__":
    main()